package controlador;

import modelo.*;

import java.awt.event.ActionEvent;
import vistas.JFIngrediente;
import java.awt.event.ActionListener;


public class ControladorJFIngrediente implements ActionListener{
	
	private JFIngrediente VentanaIngrediente;
	public Ingrediente ingrediente;
	
	public ControladorJFIngrediente(){
		super();
		//VentanaIngrediente = vista;
		VentanaIngrediente = new JFIngrediente();
		ingrediente = new Ingrediente();
		VentanaIngrediente.setVisible(true);
		VentanaIngrediente.setLocationRelativeTo(null);
		VentanaIngrediente.addListener(this);
	}

	@Override
	public void actionPerformed(ActionEvent e)
	{
		IngredienteDAO ingredienteDAO = new IngredienteDAO();
		
		if (e.getActionCommand().equals("Guardar"))
		{
			
			{
				Ingrediente ingredienteAuxiliar=null;
				ingredienteAuxiliar =ingredienteDAO.consultarIngrediente(VentanaIngrediente.getJTcodIngrediente().getText());
					if(ingredienteAuxiliar == null)
				{
					this.ingrediente.setCodIngrediente(VentanaIngrediente.getJTcodIngrediente().getText());
					this.ingrediente.setNombreIngrediente(VentanaIngrediente.getJTnombreIngrediente().getText());
					this.ingrediente.setStock(VentanaIngrediente.getJTExistencia().getText());
					
					ingredienteDAO.insertarIngrediente(ingrediente);	
					this.VentanaIngrediente.mostrarMensaje("Ingrediente Insertado con Exito");
					this.VentanaIngrediente.limpiar();
				 }
				else 
					  {
					this.VentanaIngrediente.mostrarMensaje("El codigo ha sido registrado anteriormente");
					this.VentanaIngrediente.limpiar();
		              }
				
				}
		}
		
		 if (e.getActionCommand().equals("Actualizar"))
		 	{
			 Ingrediente IngredienteAux=null;
			 IngredienteAux =ingredienteDAO.consultarIngrediente(VentanaIngrediente.getJTcodIngrediente().getText());
    			if(IngredienteAux != null)
    			
    			{
    				this.ingrediente.setCodIngrediente(VentanaIngrediente.getJTcodIngrediente().getText());
					this.ingrediente.setNombreIngrediente(VentanaIngrediente.getJTnombreIngrediente().getText());
					ingredienteDAO.actualizar(ingrediente,VentanaIngrediente.getJTcodIngrediente().getText());
					this.VentanaIngrediente.mostrarMensaje("Ingrediente actualizado con Exito");
					this.VentanaIngrediente.limpiar();
    			}
    			
    			else
    				{
    				VentanaIngrediente.mostrarMensaje("Este Ingrediente ha sido registrado anteriormente");
        				this.VentanaIngrediente.limpiar();
        				
    				}
    			
		 	}
		
		if(e.getActionCommand().equals("Eliminar"))
		{
			ingredienteDAO.eliminarIngrediente(ingrediente);
		
		}
		if(e.getActionCommand().equals("Cancelar"))
		{
			this.VentanaIngrediente.limpiar();
		
		}
		
		if(e.getActionCommand().equals("Buscar"))
		{
			Buscar();
			
		}
	}
	public void Buscar(){
		
		IngredienteDAO ingredienteDAO = new IngredienteDAO();
	    Ingrediente IngredienteAux=null;
		IngredienteAux =ingredienteDAO.consultarIngrediente(VentanaIngrediente.getJTcodIngrediente().getText());
		if(IngredienteAux == null){
			this.VentanaIngrediente.mostrarMensaje("El ingrediente no ha sido registrado");
			this.VentanaIngrediente.limpiar();
		}
		else {
			VentanaIngrediente.llenarCampos(IngredienteAux);
		
		}
}
	
}


